home *** CD-ROM | disk | FTP | other *** search
/ PsL Monthly 1993 December / PSL Monthly Shareware CD-ROM (December 1993).iso / prgmming / dos / pascal / printpa.com / NONSENSE.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1989-02-01  |  2.9 KB  |  93 lines

  1. PROGRAM Nonsense_For_T_P_M_F;
  2.                      {if program name is too long for double width printing}
  3.                      {it is printed as emphasized and underlined}
  4. Const
  5. One=1;
  6.  
  7. Type
  8. shortword=string[5];
  9.  
  10. FUNCTION Square(number: integer): integer;  {use caps for "function"}
  11.                                    {begin/end counter starts now,}
  12.                                 {continues whenever there is a change}
  13. Begin
  14.   Square:=number*number;
  15. End;
  16.                                        {use caps for "procedure"}
  17. PROCEDURE First(valueA: byte; valueB: integer; var varC:word);
  18. var                     {"var" must be on a separate line, comments excepted}
  19. varx,vary: integer;    {this should be italics if your printer supports this}
  20. varz     : byte;
  21.  
  22. Begin
  23.   varx:=One;
  24.   vary:=valueA;
  25.   varz:=valueB;
  26.   varz:=Square(varz+1);
  27.   varC:=varz;
  28. End;
  29.  
  30. PROCEDURE Second(valueD: integer; valueE: shortword; var vrbleF: integer);
  31.  
  32. PROCEDURE Nested_Procedure(valueG: byte; var varAA: shortword);
  33. Var                    {"Var" must be on a separate line, comments excepted}
  34. vars  : byte;
  35. varu  : shortword;
  36.  
  37. Begin
  38.   varu:=Chr(valueD);
  39.   vars:=length(varAA);
  40.  
  41.   If Pos(varu,varAA)=vars then
  42.     begin
  43.       varAA:=Copy(varAA,1,vars-1);
  44.     end
  45. End;
  46.  
  47. var
  48. vrbleA             :   shortword;
  49. vrbleB, wordlength :   byte;
  50. JJ                 :   integer;
  51.  
  52. Begin
  53.   Writeln('Enter a word up to four letters long.');
  54.   Readln(vrbleA);
  55.   wordlength:=length(vrbleA);
  56.   Case wordlength of          {the key words "case, of" must be on same line}
  57.   1,2,3,4:     Writeln('You entered a ',wordlength,' letter word.');
  58.   Else         Writeln('You entered too long a word.');
  59.   End;
  60.   vrbleF:=0;
  61.   For JJ:=1 to length(vrbleA) do
  62.     begin
  63.       vrbleB:=Ord( vrbleA[ JJ ] ) + vrbleF;
  64.       Writeln('Enter ascii code for ',vrbleA[JJ],' letter of word.');
  65.       Readln(JJ);
  66.       If valueD=JJ then
  67.         begin
  68.           Write(#7);
  69.           Writeln('Good!');
  70.         end;
  71.     end;
  72.   Nested_Procedure(vrbleF div length(vrbleA), vrbleA);
  73.                                       {index number on right side}
  74.                                                {for procedure}
  75. End;
  76.  
  77. VAR
  78.             {use caps for global var declaration,also on a separate line}
  79. GlobalA, GlobalB:  integer;
  80. GlobalWord      :  word;
  81. GlobalString    :  shortword;
  82. GlobalC         :  byte;
  83.                           {comment below is required, may be all caps}
  84. BEGIN                                  {main program}
  85.   First(GlobalC, GlobalA, GlobalWord);
  86.   Second(GlobalB, GlobalString, GlobalA);
  87.   GlobalC:=0;
  88.                   {Procedures/functions emphasized and underlined,}
  89.                      {indexing is done on right side of paper.}
  90.                   {Global variables are double strike in main program.}
  91.  
  92. END.           {Table of procedures/functions will be printed after code.}
  93.